package off_trial

import (
	// "bp/cache"
	sqlc "bp/db/sqlc"
)

// IsItemsOff  *sqlc.OffTrial => bool
func (s *OffTrialEntityServiceImp) IsItemsOff(ptr *sqlc.OffTrial) bool {
	if ptr == nil {
		return false
	}
	switch sqlc.EmOfferItemType(ptr.OfferItemType) {
	case sqlc.EmOfferItemTypeActivity:
		// 促销活动为满减的才是多品类优惠
		return ptr.OfferType == string(sqlc.EmOfferTypeQuotaCut)
	case sqlc.EmOfferItemTypeCoupon:
		// 券都是多品类优惠
		return true
	case sqlc.EmOfferItemTypeCard:
		// 整体类优惠
		return false
	}
	return false
}

// IsOverallOff  *sqlc.OffTrial => bool
func (s *OffTrialEntityServiceImp) IsOverallOff(ptr *sqlc.OffTrial) bool {
	if ptr == nil {
		return false
	}
	if ptr.OfferItemType == string(sqlc.EmOfferItemTypeCard) {
		return true
	}
	return false
}

// IsItemOff  *sqlc.OffTrial => bool
func (s *OffTrialEntityServiceImp) IsItemOff(ptr *sqlc.OffTrial) bool {
	if ptr == nil {
		return false
	}
	return !s.IsOverallOff(ptr) && !s.IsItemsOff(ptr)
}
